#pragma once

#include "List.h"
#include "Vector2D.h"
#include "clkHeader.h"
#include "clkMath.h"

#define VERT_MAX 4

enum SHAPE_TYPE
{
	SHAPE_CIRCLE,
	SHAPE_RECT,
};

struct clkShape
{
	//attributes
	int m_type;
	V2DF m_dir;
};

class clkCircle : public clkShape
{
public:
	//attributes
	float m_radius;

	//ctor & dtor
	clkCircle() : m_radius(0){}
	~clkCircle(){}

	void initCircle(float a_radius);
};

class clkRect : public clkShape
{
public:
	//attributes
	float m_width;
	float m_height;

	int m_vertCount;
	V2DF m_rverts[VERT_MAX];
	V2DF m_averts[VERT_MAX];
	V2DF m_norms[VERT_MAX];

	//ctor & dtor
	clkRect() : m_vertCount(0){}
	~clkRect(){}

	void initRect(float a_width, float a_height);
};